1. Field of the Invention
The present invention is related to a channel unit control system in a data processing system and, more particularly, to a channel control system that is connectable to any intelligent I/O controller with changes only in software.
2. Description of the Related Art
A data processing system usually consists of a central processing unit (CPU), a main storage unit, one or more channel units, I/O (input/output) devices and I/O controllers provided between the channel units and the I/O devices.
Conventional channel units are roughly classified into two types. The first type is for relatively low intelligence and low speed devices in which the channel unit itself interprets I/O commands. The I/O commands are issued by software in the CPU to designate a specific I/O device to do a specific operation and directly controls the I/O device. Therefore, the structure and/or control program of a first type channel unit is specialized for a specific I/O device and cannot control other kinds of I/O devices. If a new I/O device, especially one with higher or enhanced intelligence, is added to the data processing system, a new channel unit must be developed. In addition, new software which utilizes the newly defined I/O commands must be developed, too.
The second type of channel unit is for relatively high intelligence I/O devices and operates with the aid of I/O controllers. A channel unit of the second type transfers an I/O command from software to the I/O controller as it is, without interpreting the contents thereof, and then the I/O controller interprets the transferred command and informs the channel unit of the necessity for a data transfer and the direction thereof. The second type of channel unit is more flexible than the first type and can handle greater varieties of I/O devices and I/O controllers, because the channel unit itself does not use the contents of I/O commands and leaves precise control of the I/O device to the I/O controller.
The second type, however, still has a disadvantage in that each channel unit is, in reality, limited in what kind of I/O device can be connected thereto. For example, a channel unit for a sequential access device, i.e., magnetic tape unit, cannot be used for a direct access device, i.e., magnetic disk unit. This is because the I/O command format is different for each kind of I/O device and thus, each channel unit must be designed to be able to handle the specific command format. Thus, if a certain system having only a magnetic tape file unit is required to enhance its performance by introducing a magnetic disk file unit, a new channel unit also must be introduced or newly developed.
As an alternative, a channel unit may be designed to handle multiple command formats, but will require a large amount of hardware at considerable cost and additional information will be required to identify the command format of the I/O command.
Furthermore, the second type of channel unit has another problem in that the data transfer can be prepared only after the controller informs the channel unit of necessary information, and therefore the data transfer speed is limited.